A cache is a temporary memory storage area functioning as a lookup table where data w hick is assumed to be accessed frequently can be stored, for high-speed access. Conceptually, such a cache maps between a set of output parameters (e.g., the data itself) and a set of input parameters (e.g., an address or identifier of the data). Once the data is stored in the cache, it can be accessed and retrieved more quickly than by fetching or calculating the original data from the original source. Caching therefore saves time by storing a limited amount of frequently accessed data in a nearby or high-speed memory.
Memoization applies the theory of a cache to programming, logical or numerical functions. Thus, instead of recalculating the result of a function, a previously calculated result can be used when the input parameters are the same. Memoization finds particular application in computer programs and applications which calculate memory- or processor-intensive functions.
The Inventor desires an improved method for memoization.